<template>
	<view class="my">
		<view class="headpic">
			<image src="../../static/logo.png" class="headpicIcon"></image>
		</view>
		<view class="outLogin" open-type="getUserProfile" @click="wxlogin">登 录</view>
	</view>
</template>

<script>
	
	import { wxLogin } from '@/api/login/login'
	
	export default {
		data() {
			return {
				registerDate: {}	
			}
		},
		onshow() {
			this.localtoken = uni.getStorageSync('localtoken');
		},
		methods: {
			wxlogin() {
				let that = this;
				uni.login({
					provider: 'weixin', //使用微信登录
					success(lres) {
						console.log(lres, '请求微信登录返回的数据');
						uni.showModal({
							title: '温馨提示',
							content: '亲，授权微信登录后才能正常使用小程序功能',
							success(checkRes) {
								console.log(checkRes, "用户授权信息")
								if (checkRes.confirm) {
									uni.getUserInfo({
										desc: "获取你的昵称、头像、地区及性别",
										success(res) {
											console.log(res, '请求微信基本信息返回');
											let params = {
												code: lres.code,
												encryptedData: res.encryptedData,
												iv: res.iv
											};
											uni.showLoading({
											        title: '加载中...'
											});
											wxLogin(params).then(res2 => {
												if (res2.code == '200') {
													console.log(res2, '请求微信基本信息返回');
													uni.setStorageSync('userInfo', res2.data);
													// 添加日志输出以确认跳转前的状态
													console.log('准备跳转到 home 页面');
													uni.hideLoading();
													uni.switchTab({
														url: '/pages/home/home'
													})
												} else {
													uni.hideLoading();
												}
											});
										},
										fail(err) {
											console.log(err)
											//拒绝授权
											wx.showToast({
												title: '您拒绝了请求,不能正常使用小程序',
												icon: 'error',
												duration: 2000
											});
											return;
										}
									})
								}
							}
						})
					}
				});
				
				
			},
			//注册微信
			register() {
				let params = this.registerDate;
				//发送请求注册 wechatRegister自己封装的请求接口
				wechatRegister(params).then(res => {
					console.log(res, '是否注册');
					if (res.code == '200') {
						console.log('注册成功');
					} else {
						console.log('注册失败，重新注册!');
					}
				});
			},
			mobile(data) {
				//保存用户的token
				uni.setStorageSync('token', data.token); //同步的 异步的是setStoreage()
				// 判断用户是否绑定了手机号
				if (!data.member.mobile) {
					//没有绑定就应该去帮的那个手机号的页面
					this.showMobile(); //这个函数用来处理绑定手机号
					return;
				}
				//如果用户绑定了手机号就跳转项目的页面
				uni.switchTab({
					//跳转到 tabBar 页面，并关闭其他所有非 tabBar 页面
					url: '/pages/index/index'
				});
			},
			//去绑定手机号的页面
			showMobile() {
				uni.showModal({
					title: '提示', //提示框标题
					content: '根据国家相关规定，登陆需要绑定手机号', //提示框内容
					confirmText: '去绑定', //提示框的按钮
					success(res) {
						console.log(res);
						//这个地方res 会有一个属性是confirm：true 如果是true就是点击了去绑定，cancel是false就是点击了取消
						if (res.confirm) {
							//用户点击了去绑定
							uni.navigateTo({
								url: '/pages/bindPhone/bindPhone' //注册的页面
							});
						} else if (res.cancel) {
							//点击了取消
							//不绑定手机直接清除用户的登录状态让其无法进入小程序
							uni.removeStorageSync('token');
						}
					}
				});
			}
		
			
		}
	}
</script>

<style lang="scss">
	@import '../../static/style/mixin.scss';

	.my {
		margin-top: 30upx;
		margin-bottom: 20upx;
		.headpic {
			display: flex;
			justify-content: center; /* 水平居中 */
			align-items: center;     /* 垂直居中 */
			height: 100%;  

			@include cc;

			.headpicIcon {
				height: 150upx;
				width: 150upx;
				border-radius: 50%;
			}
		}			
	}
	
	.outLogin {
		margin-top: 20upx;
		width: 720upx;
		height: 100upx;
		@include cc;
		border-radius: 10upx;
		background-image: linear-gradient(90deg, aqua, #f89);
		margin: 20upx auto;
		font-size: 35upx;
		font-weight: bold;
	}
</style>
